Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create metadata claims package / remove from contractkit #340

Merged
merged 22 commits into from
Oct 2, 2024

Conversation

aaronmgdr
Copy link
Member

@aaronmgdr aaronmgdr commented Sep 10, 2024

Description

@celo/contractkit has for a long time basically had within it a subpackage under /identity that really didnt have anything to do with contractkit. Removing it will make it easier to build social connect tools as they use the IdentityMetadataMapper contained in here. However this is not social connect tool so it will remain in the developer tooling repo.

This is a prereq to remove contractkit as a dependency for social connect. a long term aim.

Other changes

Tested

uses existing tests

Related issues

Backwards compatibility

nope
exports moved to a new package. file structure slightly altered. parameter for IdentityMetadataMapper changes to take an object with specific functions rather than a kit

Documentation


PR-Codex overview

This PR introduces the @celo/metadata-claims package, extracting identity-related functionality from @celo/contractkit. This allows developers to use the IdentityMetadataWrapper independently of ContractKit, enhancing modularity and usability.

Detailed summary

  • Created @celo/metadata-claims package.
  • Moved identity and claims-related functionality from @celo/contractkit.
  • Updated imports in CLI commands and SDK files to use the new package.
  • Introduced types like AccountMetadataSignerGetters.
  • Removed identity-related exports from @celo/contractkit.
  • Added tests for new functionality in the metadata-claims package.

The following files were skipped due to too many changes: packages/sdk/wallets/wallet-rpc/lib/rpc-signer.js.map, packages/sdk/wallets/wallet-rpc/lib/rpc-signer.js, packages/sdk/wallets/wallet-rpc/lib/rpc-wallet.test.js.map, docs/sdk/metadata-claims/modules/claim.md, packages/sdk/wallets/wallet-rpc/lib/rpc-wallet.test.js, docs/sdk/metadata-claims/classes/metadata.IdentityMetadataWrapper.md

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Copy link

changeset-bot bot commented Sep 10, 2024

🦋 Changeset detected

Latest commit: 14fe6c2

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 5 packages
Name Type
@celo/contractkit Major
@celo/metadata-claims Major
@celo/celocli Patch
@celo/explorer Patch
@celo/governance Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@aaronmgdr aaronmgdr changed the base branch from master to majors September 10, 2024 13:13
@aaronmgdr aaronmgdr marked this pull request as ready for review September 10, 2024 13:13
@aaronmgdr aaronmgdr requested a review from a team as a code owner September 10, 2024 13:13
Copy link

codecov bot commented Sep 10, 2024

Codecov Report

Attention: Patch coverage is 66.07143% with 19 lines in your changes missing coverage. Please review.

Project coverage is 66.53%. Comparing base (87223ba) to head (14fe6c2).
Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
packages/cli/src/utils/identity.ts 25.00% 12 Missing ⚠️
packages/cli/src/commands/account/claim-keybase.ts 50.00% 2 Missing ⚠️
.../cli/src/commands/account/show-claimed-accounts.ts 60.00% 2 Missing ⚠️
packages/sdk/metadata-claims/src/verify.ts 81.81% 2 Missing ⚠️
packages/sdk/metadata-claims/src/metadata.ts 88.88% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #340      +/-   ##
==========================================
- Coverage   66.62%   66.53%   -0.09%     
==========================================
  Files         290      289       -1     
  Lines       10761    10776      +15     
  Branches     1523     1547      +24     
==========================================
+ Hits         7169     7170       +1     
+ Misses       3543     3435     -108     
- Partials       49      171     +122     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@nicolasbrugneaux
Copy link
Contributor

LGTM just the tests imports still need some fixin' it seems

@aaronmgdr aaronmgdr changed the base branch from majors to master September 30, 2024 13:07
Copy link

gitguardian bot commented Oct 1, 2024

⚠️ GitGuardian has uncovered 2 secrets following the scan of your pull request.

Please consider investigating the findings and remediating the incidents. Failure to do so may lead to compromising the associated services or software components.

🔎 Detected hardcoded secrets in your pull request
GitGuardian id GitGuardian status Secret Commit Filename
13736787 Triggered Generic Password bda4a9c packages/sdk/wallets/wallet-rpc/src/rpc-wallet.test.ts View secret
13736787 Triggered Generic Password cb1a6d9 packages/sdk/wallets/wallet-rpc/lib/rpc-wallet.test.js View secret
🛠 Guidelines to remediate hardcoded secrets
  1. Understand the implications of revoking this secret by investigating where it is used in your code.
  2. Replace and store your secrets safely. Learn here the best practices.
  3. Revoke and rotate these secrets.
  4. If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.

To avoid such incidents in the future consider


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

add lint config
fix ts building and cleaning
fix import
Copy link
Contributor

@nicolasbrugneaux nicolasbrugneaux left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good now that tests are passing

@aaronmgdr aaronmgdr merged commit 33ad4aa into master Oct 2, 2024
23 of 37 checks passed
@aaronmgdr aaronmgdr deleted the aaronmgdr/claims branch October 2, 2024 09:50
@github-actions github-actions bot mentioned this pull request Oct 4, 2024
aaronmgdr pushed a commit that referenced this pull request Oct 14, 2024
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to master, this PR
will be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

`master` is currently in **pre mode** so this branch has prereleases
rather than normal releases. If you want to exit prereleases, run
`changeset pre exit` on `master`.

⚠️⚠️⚠️⚠️⚠️⚠️

# Releases
## @celo/[email protected]

### Major Changes

- [#339](#339)
[`87223ba`](87223ba)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Remove support for
reserve:\* commands. As foretold by
<https://forum.celo.org/t/sunset-of-reserve-commands/8454>

- [#343](#343)
[`54741cc`](54741cc)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Remove commands
identity:identifier, identity:get-attestations

See
<https://forum.celo.org/t/rfc-deprecation-of-celocli-identity-commands/8676>

### Patch Changes

- [#389](#389)
[`5a0a922`](5a0a922)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Add warning that
ETH derivation path will be the default in a future major breaking
change.

- [#395](#395)
[`693f6e7`](693f6e7)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Fix incorrect
message where the transfered token was used as gas token in the
messaging but not in actuality

- [#395](#395)
[`693f6e7`](693f6e7)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Fix Transfering,
exchanging cusd (and other fee tokens) and or using gasCurrency flag
with ledger devices prior to 1.2

- [#389](#389)
[`5a0a922`](5a0a922)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Fix: account:new
can now be called without a node

- Updated dependencies
\[[`693f6e7`](693f6e7),
[`5a0a922`](5a0a922),
[`33ad4aa`](33ad4aa),
[`4ef76eb`](4ef76eb),
[`33ad4aa`](33ad4aa)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Major Changes

- [#228](#228)
[`4ef76eb`](4ef76eb)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - remove deprecated
functions and consts exported from ./contacts and ./displayformating.
./currencies and ./phonenumbers. If these are used by your app we
recommend to inline the functions from the previous release.

-
<https://github.com/celo-org/developer-tooling/blob/%40celo/wallet-base%406.0.1/packages/sdk/base/src/contacts.ts>
-
<https://github.com/celo-org/developer-tooling/blob/%40celo/wallet-base%406.0.1/packages/sdk/base/src/displayFormatting.ts>
-
<https://github.com/celo-org/developer-tooling/blob/%40celo/wallet-base%406.0.1/packages/sdk/base/src/phoneNumbers.ts>


<https://github.com/celo-org/developer-tooling/tree/%40celo/wallet-base%406.0.1/packages/sdk/base/src>

Full List of removed exports -- ContactPhoneNumber, MinimalContact,
getContactPhoneNumber, isContact, CURRENCY_ENUM, Currency, CURRENCIES,
resolveCurrency, SHORT_CURRENCIES, currencyToShortMap | getErrorMessage
| anonymizedPhone | getContactNameHash

## @celo/[email protected]

### Major Changes

- [#340](#340)
[`33ad4aa`](33ad4aa)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Removes all exports
under the lib/identity folder. These have been move to a new
@celo/metadata-claims package and should be imported from there.

Note that folder structure is also flattened slightly. so replace
`@celo/contractkit/lib/identity/claims/` with
`@celo/metadata-claims/lib/`

    example

    ```diff
- import { createAccountClaim } from
'@celo/contractkit/lib/identity/claims/account'
+ import { createAccountClaim } from '@celo/metadata-claims/lib/account'
    ```

    ```diff
- import { ContractKit, IdentityMetadataWrapper, newKitFromWeb3 } from
'@celo/contractkit'
    - import { ClaimTypes } from '@celo/contractkit/lib/identity'
    + import { ContractKit, newKitFromWeb3 } from '@celo/contractkit'
+ import { ClaimTypes, IdentityMetadataWrapper } from
'@celo/metadata-claims'

    ```

Note that Contractkit is Not a dependency. Instead when using
`IdentityMetadataWrapper` you should make an object that satisfis the
`AccountMetadataSignerGetters` type

    ```typescript
import { AccountMetadataSignerGetters } from
'@celo/metadata-claims/lib/types'
    ```

    using viem it would be like

    ```typescript
const accountsMetaDataSignerGetters: AccountMetadataSignerGetters = {
isAccount: async (address: string) => accounts.read.isAccount([address
as Address]),
      getValidatorSigner: async (address: string) =>
        accounts.read.getValidatorSigner([address as Address]),
      getVoteSigner: async (address: string) =>
        accounts.read.getValidatorSigner([address as Address]),
      getAttestationSigner: async (address: string) =>
        accounts.read.getValidatorSigner([address as Address]),
    }
    ```

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Major Changes

- [#340](#340)
[`33ad4aa`](33ad4aa)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Introducing
@celo/metadata-claims These are a series of functions extracted from
@celo/contractkit since they didnt strictly need depend on contractkit
itsefl. Developers can now use IdentityMetadataWrapper with any js rpc
library like ethers or viem or web3js without being forced to import
ContractKit.

Instead when using `IdentityMetadataWrapper` you should make an object
that satisfis the `AccountMetadataSignerGetters` type

    ```typescript
import { AccountMetadataSignerGetters } from
'@celo/metadata-claims/lib/types'
    ```

    using viem it would be like

    ```typescript
const accountsMetaDataSignerGetters: AccountMetadataSignerGetters = {
isAccount: async (address: string) => accounts.read.isAccount([address
as Address]),
      getValidatorSigner: async (address: string) =>
        accounts.read.getValidatorSigner([address as Address]),
      getVoteSigner: async (address: string) =>
        accounts.read.getValidatorSigner([address as Address]),
      getAttestationSigner: async (address: string) =>
        accounts.read.getValidatorSigner([address as Address]),
    }
    ```

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Major Changes

- [#228](#228)
[`4ef76eb`](4ef76eb)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - remove deprecated
functions and consts exported from ./contacts and ./displayformating.
./currencies and ./phonenumbers. If these are used by your app we
recommend to inline the functions from the previous release.

-
<https://github.com/celo-org/developer-tooling/blob/%40celo/wallet-base%406.0.1/packages/sdk/base/src/contacts.ts>
-
<https://github.com/celo-org/developer-tooling/blob/%40celo/wallet-base%406.0.1/packages/sdk/base/src/displayFormatting.ts>
-
<https://github.com/celo-org/developer-tooling/blob/%40celo/wallet-base%406.0.1/packages/sdk/base/src/phoneNumbers.ts>


<https://github.com/celo-org/developer-tooling/tree/%40celo/wallet-base%406.0.1/packages/sdk/base/src>

Full List of removed exports -- ContactPhoneNumber, MinimalContact,
getContactPhoneNumber, isContact, CURRENCY_ENUM, Currency, CURRENCIES,
resolveCurrency, SHORT_CURRENCIES, currencyToShortMap | getErrorMessage
| anonymizedPhone | getContactNameHash

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]

## @celo/[email protected]

### Major Changes

- [#344](#344)
[`6bba5e3`](6bba5e3)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! -
Initial release

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

-   Updated dependencies \[]:
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- [#389](#389)
[`5a0a922`](5a0a922)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Add warning that
ETH derivation path will be the default in a future major breaking
change.

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`33ad4aa`](33ad4aa),
[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`33ad4aa`](33ad4aa),
[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- [#395](#395)
[`693f6e7`](693f6e7)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Fix issue where
ledger running celo firmware app 1.1.10 could not send fee token
transactions or perform and interactions with those contracts

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]


<!-- start pr-codex -->

---

## PR-Codex overview
This PR focuses on updating various Celo SDK packages to their beta
versions, enhancing dependency management and incorporating new
features. It includes significant version bumps and updates to
changelogs across multiple packages.

### Detailed summary
- Updated `@celo/base` to `7.0.0-beta.0`
- Updated `@celo/connect` to `6.0.3-beta.0`
- Updated `@celo/utils` to `8.0.0-beta.0`
- Updated `@celo/dev-utils` to `0.0.6-beta.0`
- Added multiple changelog entries for various packages
- Introduced new `@celo/metadata-claims` package at `1.0.0-beta.0`
- Updated `@celo/contractkit` to `9.0.0-beta.0`
- Updated versions in `CHANGELOG.md` files across several packages

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`

<!-- end pr-codex -->

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@github-actions github-actions bot mentioned this pull request Dec 11, 2024
aaronmgdr pushed a commit that referenced this pull request Dec 11, 2024
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to master, this PR
will be updated.


# Releases
## @celo/[email protected]

### Major Changes

- [#407](#407)
[`3890220`](3890220)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Remove
transfer:gold -- this was an old alias for transfer:celo which has the
same functionality

- [#412](#412)
[`23d36cc`](23d36cc)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Remove `celocli
validator:force-deaffiliate`

This command was only ever usable pre mainnet launch. The force
deaffiliate method it would call is only callable by one of the
whitelisted Slasher Contracts.

To force removal of validator with poor uptime use `celocli
validator:downtime-slash` or to sever association with a validator from
your group use `celocli validator:deaffiliate`

- [#339](#339)
[`87223ba`](87223ba)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Remove support for
reserve:\* commands. As foretold by
<https://forum.celo.org/t/sunset-of-reserve-commands/8454>

- [#407](#407)
[`3890220`](3890220)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Remove
account:recover-old

This was meant to be a temporary command for migrating account from a
beta version of Valora to the release version. Please use a previous
version of celocli if you need to make this one time recovery.

- [#343](#343)
[`54741cc`](54741cc)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Remove commands
identity:identifier, identity:get-attestations

See
<https://forum.celo.org/t/rfc-deprecation-of-celocli-identity-commands/8676>

### Minor Changes

- [#420](#420)
[`fb08485`](fb08485)
Thanks [@shazarre](https://github.com/shazarre)! - Adds support for safe
integration for L2 hotfix security council approvals

- [#429](#429)
[`5b02036`](5b02036)
Thanks [@shazarre](https://github.com/shazarre)! - Removes L2 BLS keys
support for account:authorize

- [#447](#447)
[`7bc05c2`](7bc05c2)
Thanks [@shazarre](https://github.com/shazarre)! -
validator:signed-blocks not supported on L2 anymore, fixes
validator:status L2

- [#471](#471)
[`26b9779`](26b9779)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - For `account:new`
command add alias "celoLegacy" to the `--derivationPath` flag

- [#459](#459)
[`0e559c7`](0e559c7)
Thanks [@shazarre](https://github.com/shazarre)! - Introduces a new
command `account:claim-rpc-url` allowing to claim RPC URLs

-
[`76045eb`](76045eb)
Thanks [@shazarre](https://github.com/shazarre)! - BLS keys are now
optional as being deprecated on L2, validator:register and
releasecelo:authorize no longer require them in L2 context

### Patch Changes

- [#421](#421)
[`7d42a05`](7d42a05)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - fix
governance:build-proposal with contracts from mento or which use
solidity 0.8

- [#463](#463)
[`eba89a3`](eba89a3)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Add
GovernanceSlasher to RegisteredContractsEnum

- [#389](#389)
[`5a0a922`](5a0a922)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Add warning that
ETH derivation path will be the default in a future major breaking
change.

- [#425](#425)
[`952bc81`](952bc81)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! -
deprecates the flags --whitelisters and --nonwhitelisters from the
governance:show command

- [#456](#456)
[`d5c9204`](d5c9204)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! - Fix
rewards:show for L2

- [#472](#472)
[`1df8688`](1df8688)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Dont show flags for
privateKey, gasCurrency, useLedger, and related flags in help for
commands which dont actually make use of them.

- [#395](#395)
[`693f6e7`](693f6e7)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Fix incorrect
message where the transfered token was used as gas token in the
messaging but not in actuality

- [#395](#395)
[`693f6e7`](693f6e7)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Fix Transfering,
exchanging cusd (and other fee tokens) and or using gasCurrency flag
with ledger devices prior to 1.2

- [#471](#471)
[`26b9779`](26b9779)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - when account:new is
called it displays the full bip44 derivation path in the output. Before
it would miss the last 2 positions.

- [#480](#480)
[`b83d8c4`](b83d8c4)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Recommended node
version is now node 20

- [#452](#452)
[`2283374`](2283374)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Show deprecated
warning on flags which will be removed after cel2 launch

- [#389](#389)
[`5a0a922`](5a0a922)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Fix: account:new
can now be called without a node

- [#449](#449)
[`97f0a53`](97f0a53)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Show --node and
--useLedger flags when --help is called. Show aliases for networks in
--node help

- [#452](#452)
[`2283374`](2283374)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - use onchain values
instead of static for lock requirements

- [#450](#450)
[`9558b56`](9558b56)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! -
Gracefully throw if --estimate wasnt passed on L1

- [#427](#427)
[`ee33677`](ee33677)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! -
Change a dependency to use npm rather than github

- Updated dependencies
\[[`eba89a3`](eba89a3),
[`43e8474`](43e8474),
[`693f6e7`](693f6e7),
[`7d42a05`](7d42a05),
[`c4b9c6d`](c4b9c6d),
[`7bc05c2`](7bc05c2),
[`5a0a922`](5a0a922),
[`0e559c7`](0e559c7),
[`33ad4aa`](33ad4aa),
[`d988d31`](d988d31),
[`42d091f`](42d091f),
[`b83d8c4`](b83d8c4),
[`36c4369`](36c4369),
[`4ef76eb`](4ef76eb),
[`76045eb`](76045eb),
[`38fe4d0`](38fe4d0),
[`26b9779`](26b9779),
[`33ad4aa`](33ad4aa),
[`b366827`](b366827),
[`a23246e`](a23246e),
[`fb08485`](fb08485),
[`7d42a05`](7d42a05),
[`ee33677`](ee33677),
[`d5c9204`](d5c9204)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Major Changes

- [#228](#228)
[`4ef76eb`](4ef76eb)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - remove deprecated
functions and consts exported from ./contacts and ./displayformating.
./currencies and ./phonenumbers. If these are used by your app we
recommend to inline the functions from the previous release.

-
<https://github.com/celo-org/developer-tooling/blob/%40celo/wallet-base%406.0.1/packages/sdk/base/src/contacts.ts>
-
<https://github.com/celo-org/developer-tooling/blob/%40celo/wallet-base%406.0.1/packages/sdk/base/src/displayFormatting.ts>
-
<https://github.com/celo-org/developer-tooling/blob/%40celo/wallet-base%406.0.1/packages/sdk/base/src/phoneNumbers.ts>


<https://github.com/celo-org/developer-tooling/tree/%40celo/wallet-base%406.0.1/packages/sdk/base/src>

Full List of removed exports -- ContactPhoneNumber, MinimalContact,
getContactPhoneNumber, isContact, CURRENCY_ENUM, Currency, CURRENCIES,
resolveCurrency, SHORT_CURRENCIES, currencyToShortMap | getErrorMessage
| anonymizedPhone | getContactNameHash

### Minor Changes

- [#471](#471)
[`26b9779`](26b9779)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - add
DerivationPathAliases export

## @celo/[email protected]

### Major Changes

- [#340](#340)
[`33ad4aa`](33ad4aa)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Removes all exports
under the lib/identity folder. These have been move to a new
@celo/metadata-claims package and should be imported from there.

Note that folder structure is also flattened slightly. so replace
`@celo/contractkit/lib/identity/claims/` with
`@celo/metadata-claims/lib/`

    example

    ```diff
- import { createAccountClaim } from
'@celo/contractkit/lib/identity/claims/account'
+ import { createAccountClaim } from '@celo/metadata-claims/lib/account'
    ```

    ```diff
- import { ContractKit, IdentityMetadataWrapper, newKitFromWeb3 } from
'@celo/contractkit'
    - import { ClaimTypes } from '@celo/contractkit/lib/identity'
    + import { ContractKit, newKitFromWeb3 } from '@celo/contractkit'
+ import { ClaimTypes, IdentityMetadataWrapper } from
'@celo/metadata-claims'

    ```

Note that Contractkit is Not a dependency. Instead when using
`IdentityMetadataWrapper` you should make an object that satisfis the
`AccountMetadataSignerGetters` type

    ```typescript
import { AccountMetadataSignerGetters } from
'@celo/metadata-claims/lib/types'
    ```

    using viem it would be like

    ```typescript
const accountsMetaDataSignerGetters: AccountMetadataSignerGetters = {
isAccount: async (address: string) => accounts.read.isAccount([address
as Address]),
      getValidatorSigner: async (address: string) =>
        accounts.read.getValidatorSigner([address as Address]),
      getVoteSigner: async (address: string) =>
        accounts.read.getValidatorSigner([address as Address]),
      getAttestationSigner: async (address: string) =>
        accounts.read.getValidatorSigner([address as Address]),
    }
    ```

### Minor Changes

- [#447](#447)
[`7bc05c2`](7bc05c2)
Thanks [@shazarre](https://github.com/shazarre)! - Exposes
EpochManager.getElectedSigners contract method

-
[`76045eb`](76045eb)
Thanks [@shazarre](https://github.com/shazarre)! - ValidatorsWrapper:
add registerValidatorNoBls to allow registration without BLS keys which
are not supported in L2

### Patch Changes

- [#463](#463)
[`eba89a3`](eba89a3)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Add
GovernanceSlasher to RegisteredContractsEnum

- [#467](#467)
[`43e8474`](43e8474)
Thanks [@shazarre](https://github.com/shazarre)! - fix: add
transferOwnership() to proxy abi list

- [#446](#446)
[`42d091f`](42d091f)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Bump @celo/abis-12

- [#480](#480)
[`b83d8c4`](b83d8c4)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Recommended node
version is now node 20

- [#455](#455)
[`36c4369`](36c4369)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Mark contract
wrapper methods that will not work on L2 because solidity contracts have
onlyL1 modifier as deprecated.

| Deprecated Contract / Method | Replacement or none |
| -------------------------------------------- |
----------------------------------------- |
| Validators#registerValidator | Validators#registerValidatorNoBLS |
| BlockchainParams#getEpochNumberOfBlock |
EpochManager#getEpochNumberOfBlock |
| BlockchainParams#getFirstBlockNumberForEpoch |
EpochManager#getFirstBlockAtEpoch |
| Election#getCurrentValidatorSigners | EpochManager#getElectedSigners |
| Election#getGroupEpochRewards |
Election#getGroupEpochRewardsBasedOnScore |
| GovernanceSlasher#slash | GovernanceSlasher#slashL2 |
| DoubleSigningSlasher | X |
| DowntimeSlasher | X |

- [#400](#400)
[`38fe4d0`](38fe4d0)
Thanks [@shazarre](https://github.com/shazarre)! - Renames `getElected`
and its usages to `getElectedAccounts` for `EpochManagerWrapper`

- [#456](#456)
[`d5c9204`](d5c9204)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! -
Backwards compat for some methods using epoch's block numbers

- Updated dependencies
\[[`c4b9c6d`](c4b9c6d),
[`d988d31`](d988d31),
[`4ef76eb`](4ef76eb),
[`26b9779`](26b9779),
[`fb08485`](fb08485)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Major Changes

- [#340](#340)
[`33ad4aa`](33ad4aa)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Introducing
@celo/metadata-claims These are a series of functions extracted from
@celo/contractkit since they didnt strictly need depend on contractkit
itsefl. Developers can now use IdentityMetadataWrapper with any js rpc
library like ethers or viem or web3js without being forced to import
ContractKit.

Instead when using `IdentityMetadataWrapper` you should make an object
that satisfis the `AccountMetadataSignerGetters` type

    ```typescript
import { AccountMetadataSignerGetters } from
'@celo/metadata-claims/lib/types'
    ```

    using viem it would be like

    ```typescript
const accountsMetaDataSignerGetters: AccountMetadataSignerGetters = {
isAccount: async (address: string) => accounts.read.isAccount([address
as Address]),
      getValidatorSigner: async (address: string) =>
        accounts.read.getValidatorSigner([address as Address]),
      getVoteSigner: async (address: string) =>
        accounts.read.getValidatorSigner([address as Address]),
      getAttestationSigner: async (address: string) =>
        accounts.read.getValidatorSigner([address as Address]),
    }
    ```

### Minor Changes

- [#459](#459)
[`0e559c7`](0e559c7)
Thanks [@shazarre](https://github.com/shazarre)! - Add support for
RPC_URL claim type

### Patch Changes

- [#475](#475)
[`b366827`](b366827)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Publish lib instead
of src

- Updated dependencies
\[[`4ef76eb`](4ef76eb),
[`26b9779`](26b9779)]:
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Major Changes

- [#228](#228)
[`4ef76eb`](4ef76eb)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - remove deprecated
functions and consts exported from ./contacts and ./displayformating.
./currencies and ./phonenumbers. If these are used by your app we
recommend to inline the functions from the previous release.

-
<https://github.com/celo-org/developer-tooling/blob/%40celo/wallet-base%406.0.1/packages/sdk/base/src/contacts.ts>
-
<https://github.com/celo-org/developer-tooling/blob/%40celo/wallet-base%406.0.1/packages/sdk/base/src/displayFormatting.ts>
-
<https://github.com/celo-org/developer-tooling/blob/%40celo/wallet-base%406.0.1/packages/sdk/base/src/phoneNumbers.ts>


<https://github.com/celo-org/developer-tooling/tree/%40celo/wallet-base%406.0.1/packages/sdk/base/src>

Full List of removed exports -- ContactPhoneNumber, MinimalContact,
getContactPhoneNumber, isContact, CURRENCY_ENUM, Currency, CURRENCIES,
resolveCurrency, SHORT_CURRENCIES, currencyToShortMap | getErrorMessage
| anonymizedPhone | getContactNameHash

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb),
[`26b9779`](26b9779)]:
    -   @celo/[email protected]

## @celo/[email protected]

### Major Changes

- [#344](#344)
[`6bba5e3`](6bba5e3)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! -
Initial release

### Patch Changes

- [#443](#443)
[`a23246e`](a23246e)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! - Safer
handling of v from device

- [#427](#427)
[`ee33677`](ee33677)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! -
Change a dependency to use npm rather than github

- Updated dependencies
\[[`4ef76eb`](4ef76eb),
[`26b9779`](26b9779)]:
    -   @celo/[email protected]

## @celo/[email protected]

### Minor Changes

- [#420](#420)
[`fb08485`](fb08485)
Thanks [@shazarre](https://github.com/shazarre)! - Now CeloProvider can
be wrapped in EIP-1193 partially compatible object (request + args)

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb),
[`26b9779`](26b9779)]:
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- [#400](#400)
[`38fe4d0`](38fe4d0)
Thanks [@shazarre](https://github.com/shazarre)! - Upgrades to latest
devchain

- [#446](#446)
[`42d091f`](42d091f)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Bump @celo/abis-12

- [#420](#420)
[`fb08485`](fb08485)
Thanks [@shazarre](https://github.com/shazarre)! - Adds actual Celo
chain id when running anvil

- Updated dependencies
\[[`fb08485`](fb08485)]:
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- [#389](#389)
[`5a0a922`](5a0a922)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Add warning that
ETH derivation path will be the default in a future major breaking
change.

- Updated dependencies
\[[`4ef76eb`](4ef76eb),
[`26b9779`](26b9779)]:
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`eba89a3`](eba89a3),
[`43e8474`](43e8474),
[`7bc05c2`](7bc05c2),
[`33ad4aa`](33ad4aa),
[`42d091f`](42d091f),
[`b83d8c4`](b83d8c4),
[`36c4369`](36c4369),
[`4ef76eb`](4ef76eb),
[`76045eb`](76045eb),
[`38fe4d0`](38fe4d0),
[`26b9779`](26b9779),
[`fb08485`](fb08485),
[`d5c9204`](d5c9204)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- [#463](#463)
[`eba89a3`](eba89a3)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Add
GovernanceSlasher to RegisteredContractsEnum

- [#421](#421)
[`7d42a05`](7d42a05)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - minor update to
inquirer lib

- [#446](#446)
[`42d091f`](42d091f)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Bump @celo/abis-12

- [#421](#421)
[`7d42a05`](7d42a05)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Fix being unable to
use 08 and mento contracts with proposal builder

- Updated dependencies
\[[`eba89a3`](eba89a3),
[`43e8474`](43e8474),
[`7bc05c2`](7bc05c2),
[`33ad4aa`](33ad4aa),
[`42d091f`](42d091f),
[`b83d8c4`](b83d8c4),
[`36c4369`](36c4369),
[`4ef76eb`](4ef76eb),
[`76045eb`](76045eb),
[`38fe4d0`](38fe4d0),
[`26b9779`](26b9779),
[`fb08485`](fb08485),
[`d5c9204`](d5c9204)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`c4b9c6d`](c4b9c6d),
[`d988d31`](d988d31),
[`4ef76eb`](4ef76eb)]:
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb),
[`26b9779`](26b9779)]:
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- Updated dependencies
\[[`4ef76eb`](4ef76eb),
[`26b9779`](26b9779),
[`fb08485`](fb08485)]:
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- [#434](#434)
[`c4b9c6d`](c4b9c6d)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Force patch bump
wallets to deal with version conflict

- [#408](#408)
[`d988d31`](d988d31)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! -
Improve support for celo-legacy and modern txs within ledger

- Updated dependencies
\[[`4ef76eb`](4ef76eb),
[`26b9779`](26b9779),
[`fb08485`](fb08485)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- [#434](#434)
[`c4b9c6d`](c4b9c6d)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Force patch bump
wallets to deal with version conflict

- Updated dependencies
\[[`4ef76eb`](4ef76eb),
[`26b9779`](26b9779)]:
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- [#434](#434)
[`c4b9c6d`](c4b9c6d)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Force patch bump
wallets to deal with version conflict

- Updated dependencies
\[[`c4b9c6d`](c4b9c6d),
[`d988d31`](d988d31),
[`4ef76eb`](4ef76eb),
[`fb08485`](fb08485)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- [#434](#434)
[`c4b9c6d`](c4b9c6d)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Force patch bump
wallets to deal with version conflict

- Updated dependencies
\[[`c4b9c6d`](c4b9c6d),
[`d988d31`](d988d31),
[`4ef76eb`](4ef76eb),
[`26b9779`](26b9779),
[`fb08485`](fb08485)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- [#434](#434)
[`c4b9c6d`](c4b9c6d)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Force patch bump
wallets to deal with version conflict

- Updated dependencies
\[[`c4b9c6d`](c4b9c6d),
[`d988d31`](d988d31),
[`4ef76eb`](4ef76eb),
[`fb08485`](fb08485)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- [#395](#395)
[`693f6e7`](693f6e7)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Fix issue where
ledger running celo firmware app 1.1.10 could not send fee token
transactions or perform and interactions with those contracts

- [#434](#434)
[`c4b9c6d`](c4b9c6d)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Force patch bump
wallets to deal with version conflict

- [#408](#408)
[`d988d31`](d988d31)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! -
Improve support for celo-legacy and modern txs within ledger

- [#443](#443)
[`a23246e`](a23246e)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! - Safer
handling of v from device

- [#427](#427)
[`ee33677`](ee33677)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! -
Change a dependency to use npm rather than github

- Updated dependencies
\[[`c4b9c6d`](c4b9c6d),
[`d988d31`](d988d31),
[`4ef76eb`](4ef76eb),
[`26b9779`](26b9779),
[`fb08485`](fb08485)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- [#434](#434)
[`c4b9c6d`](c4b9c6d)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Force patch bump
wallets to deal with version conflict

- [#408](#408)
[`d988d31`](d988d31)
Thanks [@nicolasbrugneaux](https://github.com/nicolasbrugneaux)! -
Improve support for celo-legacy and modern txs within ledger

- Updated dependencies
\[[`c4b9c6d`](c4b9c6d),
[`d988d31`](d988d31),
[`4ef76eb`](4ef76eb),
[`26b9779`](26b9779),
[`fb08485`](fb08485)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]

## @celo/[email protected]

### Patch Changes

- [#434](#434)
[`c4b9c6d`](c4b9c6d)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Force patch bump
wallets to deal with version conflict

- Updated dependencies
\[[`c4b9c6d`](c4b9c6d),
[`d988d31`](d988d31),
[`4ef76eb`](4ef76eb),
[`fb08485`](fb08485)]:
    -   @celo/[email protected]
    -   @celo/[email protected]
    -   @celo/[email protected]


<!-- start pr-codex -->

---

## PR-Codex overview
This PR primarily focuses on updating the versions of various `@celo`
packages from beta versions to stable releases, along with some minor
dependency updates and changelog entries for new features and fixes.

### Detailed summary
- Deleted multiple `.changeset` files.
- Updated versions for `@celo/base`, `@celo/utils`, `@celo/connect`,
`@celo/contractkit`, and several wallet packages from beta to stable.
- Added changelog entries for patch updates in various packages.
- Improved support for ledger transactions and fixed bugs related to
wallet interactions.

> The following files were skipped due to too many changes: `yarn.lock`

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`

<!-- end pr-codex -->

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Refactor CIp3 functions into @celo/claims
2 participants